package sohsite.pelada.peladeiro;

import java.util.Collection;

import org.hibernate.Criteria;
import org.hibernate.Session;
import org.hibernate.criterion.Restrictions;

import sohsite.excecao.EntradaInexistenteException;
import sohsite.util.Conexao;
import sohsite.util.generico.RepositorioGenerico;

public class RepositorioPeladeiroHbm extends RepositorioGenerico<Peladeiro> implements IRepositorioPeladeiro{
	
	public RepositorioPeladeiroHbm() {
		super(Peladeiro.class);
	}
	
	@SuppressWarnings("unchecked")
	public Collection<Peladeiro> consultarPeladeirosPorNome(String nomePeladeiro) throws EntradaInexistenteException{
		Collection<Peladeiro> peladeiros = null;
		Session sessao = Conexao.encontrarSessao();
		Criteria consulta = sessao.createCriteria(Peladeiro.class);
		consulta.add(Restrictions.like("nome", nomePeladeiro + "%"));
		peladeiros = consulta.list();
		
		if(peladeiros.isEmpty())
			throw new EntradaInexistenteException();
		
		return peladeiros;
	}
		
	
}
